package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;
import org.jsola.hr.entity.BookingsDatetimeDO;

import java.util.Date;
import java.util.List;
import java.util.Map;

import static org.jsola.core.example.BaseExample.*;
import static org.jsola.hr.example.BookingsBusinessExample.*;

/**
 * 预约业务主表
 *
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【预约业务主表】列表展示对象")
@Data
public class BookingsBusinessListVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID)
    private Long id;

    @ApiModelProperty(notes = N_BOOKINGS_BUSINESS, example = E_BOOKINGS_BUSINESS)
    private String bookingsBusiness;

    @ApiModelProperty(notes = N_SERVICE_FALL, example = E_SERVICE_FALL)
    private String serviceFall;

    @ApiModelProperty(notes = N_BOOKINGS_COUNT, example = E_BOOKINGS_COUNT)
    private Integer bookingsCount;

    @ApiModelProperty(notes = N_BOOKINGS_REMAINING_COUNT, example = E_BOOKINGS_REMAINING_COUNT)
    private Integer bookingsRemainingCount;

    @ApiModelProperty(notes = N_BOOKINGS_BEGIN_DATE, example = E_BOOKINGS_BEGIN_DATE)
    private Date bookingsBeginDate;

    @ApiModelProperty(notes = N_BOOKINGS_END_DATE, example = E_BOOKINGS_END_DATE)
    private Date bookingsEndDate;

    @ApiModelProperty(notes = N_BUSINESS_BEGIN_DATE, example = E_BUSINESS_BEGIN_DATE)
    private Date businessBeginDate;

    @ApiModelProperty(notes = N_BUSINESS_END_DATE, example = E_BUSINESS_END_DATE)
    private Date businessEndDate;

    @ApiModelProperty(notes = N_GMT_CREATE, example = E_GMT_CREATE)
    private Date gmtCreate;

    @ApiModelProperty(notes = N_GMT_MODIFIED, example = E_GMT_MODIFIED)
    private Date gmtModified;

    @ApiModelProperty(notes = "主表对应的所有时间段")
    private Map<String, List<BookingsDatetimeDO>> bookingsDatetime;



}

